import wxValidate from 'wechat-validate'
Page({
  data: {
    timeData:{
      minutes: 0,
      seconds: 0,
      // milliseconds: 0
    },
    mobile: '',
    code: '',
    //_开头，无数据响应
    _redirectURL: '/pages/my/index'
    },
  behaviors: [wxValidate],
  rules: {
    mobile: [
      {required: true, message: '请填写手机号码!'},
      {pattern: /^1[3-8]\d{9}$/, message: '请填写正确的手机号码!'}
    ],
    code: [
      {required: true, message: '请填写验证码!'},
      {pattern: /^\d{6}$/, message: '请填写正确的验证码!'}
    ]
  },
  countDownChange(ev) {
    // console.log("",ev);
    // 这里注意一下，这是 组件自带的，ev.detail 内有可以获取的,等下再改
    // if(ev.detail.minutes === 0 && timeData.seconds === 0 && timeData.milliseconds === 0){
    //   return
    // }
    this.setData({
      timeData: ev.detail,
    })
  },
  async getCode(){
    const {valid, message} = this.validate('mobile')
    // 如果验证不合法则不再执行后面的逻辑
    if(!valid) return wx.utils.toast(message)
   this.setData({
     timeData:{
      minutes: 1,
      seconds: 0
     }
   })
  //  验证码发送
  const res = await wx.http({
     url: '/code',
     data: {
       mobile: this.data.mobile
     }
   })
   console.log("验证码",res.data.code);
  },
  async submitForm(){
  if(!this.validate()) return
  try {
    const {data} = await wx.http.post('/login',
    {
      mobile: this.data.mobile,
      code: this.data.code
    })
   wx.setStorageSync('token', data)
  //  登录完成后，一定要将token数据挂载在实例上，不然其他页面接收不到
  // 要先判断this.data._redirectURL是否为tabbar页面，如果是，就用wx.switchTab跳，否则用wx.redirectTo跳
      /* global __wxConfig */
      // .slice(0, -5) => 去掉 .html 后缀
    getApp().global.token = data
    // console.log('__wxConfig',__wxConfig);
    // 获取tabbar 页面，判断跳转是tab页面还是非tabbar
    const tarbBarPagePathList = __wxConfig.tabBar.list.map((v)=> v.pagePath.slice(0,-5))
    // console.log(tarbBarPagePathList);
    // // 这里记得打印自己的路径与获取的路径，比对有无 /
    // 这个
    if(tarbBarPagePathList.includes(this.data._redirectURL)){
    // 是tabBar页面
      wx.switchTab({
        url: '/'+ this.data._redirectURL,
      })
    }else{
      wx.redirectTo({
        url: '/'+ this.data._redirectURL
      })
    }

  // 这个是可以跳转的代码
  // wx.switchTab({
  //   url: '/'+ this.data._redirectURL
  // })

  } catch (error) {
   wx.utils.toast(error.message)
  }
  },
  onLoad({redirectURL}){
    // console.log('redirectURL',redirectURL);
    this.setData({
      _redirectURL: redirectURL
    })
  },
  options: {
    pureDataPattern: /^_/ // 指定所有 _ 开头的数据字段为纯数据字段
  },
})
